﻿//LastTradeQuotingStrategy.cs
//Copyright (c) 2013 StockSharp LLC, all rights reserved.
//This code module is part of StockSharp library.
//This code is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
//See the file License.txt for the license details.
//More info on: http://stocksharp.com

namespace StockSharp.Algo.Strategies
{
	using StockSharp.BusinessEntities;

	/// <summary>
	/// Котирование по цене последней сделки.
	/// </summary>
	public class LastTradeQuotingStrategy : BestByPriceQuotingStrategy
	{
		/// <summary>
		/// Создать <see cref="LastTradeQuotingStrategy"/>.
		/// </summary>
		/// <param name="quotingDirection">Направление котирования.</param>
		/// <param name="quotingVolume">Объем, который необходимо скотировать.</param>
		public LastTradeQuotingStrategy(OrderDirections quotingDirection, decimal quotingVolume)
			: base(quotingDirection, quotingVolume)
		{
		}

		/// <summary>
		/// Создать <see cref="LastTradeQuotingStrategy"/>.
		/// </summary>
		/// <param name="order">Заявка, которую необходимо котировать.</param>
		/// <param name="bestPriceOffset">Отступ от лучшей цены, на которую может уйти котируемая заявка.</param>
		/// <returns>Стратегия.</returns>
		public LastTradeQuotingStrategy(Order order, Unit bestPriceOffset)
			: base(order, bestPriceOffset)
		{
		}

		/// <summary>
		/// Получить лучшую цену. Если невозможно вычислить лучшую цену на данный момент, то будет возвращено 0.
		/// </summary>
		protected override decimal BestPrice
		{
			get
			{
				return Security.LastTrade == null ? 0 : Security.LastTrade.Price;
			}
		}
	}
}